package com.jmb.apiplatform.service;

import com.jmb.apiplatform.common.PageResult;
import com.jmb.apiplatform.exception.ValidException;
import com.jmb.apiplatform.pojo.*;
import org.springframework.transaction.annotation.Transactional;

import java.util.HashMap;
import java.util.List;

public interface ApiCaseSuiteService {
    ApiCaseSuite saveApiCaseSuite(ApiCaseSuite caseSuite) throws ValidException;
    @Transactional(rollbackFor = ValidException.class)
    void saveApiCaseSuiteAndProcessor(ApiCaseSuiteInfoTO apiCaseSuiteInfoTO) throws ValidException;
    @Transactional(rollbackFor = ValidException.class)
    void editApiCaseSuite(ApiCaseSuiteInfoTO suiteInfoTO) throws ValidException;
    @Transactional(rollbackFor = ValidException.class)
    void removeApiCaseSuiteById(Integer suiteId) throws ValidException;
    ApiCaseSuiteVO findApiCaseSuiteById(Integer suiteId);
    ApiCaseSuiteInfoVO findApiCaseSuiteInfoById(Integer suiteId);
    PageResult<ApiCaseSuiteVO> findApiCaseSuiteList(ApiCaseSuiteTO apiCaseSuiteTO);
    List<ApiCaseSuiteVO>findApiCaseSuiteAll(ApiCaseSuiteTO apiCaseSuiteTO);
    @Transactional(rollbackFor = ValidException.class)
    HashMap<String,Integer> copyApiCaseSuiteById(Integer suiteId, String creator) throws ValidException;

}
